package com.wanxi.udp.demo1单播单次发送数据;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * udp接收端，完成接收信息并打印出接收的信息
 */
public class UDPReceive {
    public static void main(String[] args) throws IOException {
        System.out.println("接收消息端启动.....");
        //1. 创建接收端socker-找码头
        DatagramSocket datagramSocket = new DatagramSocket(20000);
        //2. 创建接收数据的数据包-找新箱子
        byte[] bytes = new byte[1024];
        // 参数说明接收消息的字节数组，接收消息的长度，地址，端口
        DatagramPacket packet = new DatagramPacket(bytes, bytes.length);
        //3. 接收数据-码头接收礼物并放入新箱子中
        datagramSocket.receive(packet);
        //4. 解包数据，变成字符串输出-村长从箱子里获取礼物
        String content = new String(packet.getData(), 0, packet.getLength());
        System.out.println("收到消息：" + content);
        //4. 关闭连接-拿完走羊
        datagramSocket.close();
        System.out.println("接收端退出");
    }
}
